package org.little.beans.factory.support;

import org.little.beans.BeanDefinition;
import org.little.beans.factory.BeanCreationException;
import org.little.beans.factory.config.ConfigurableBeanFactory;

/**
 * @author Tinyspot
 * @date 2022-05-31 21:44
 */
public abstract class AbstractBeanFactory extends DefaultSingletonBeanRegistry implements ConfigurableBeanFactory {

    /**
     * 内部使用的，所以不要暴露在 BeanFactory 接口中
     * @param beanDefinition
     * @return
     * @throws BeanCreationException
     */
    protected abstract Object createBean(BeanDefinition beanDefinition) throws BeanCreationException;

}
